home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lang_c
/
lzwlib
/
lzw.src
< prev
next >
Wrap
Text File
|
1992-03-16
|
5KB
|
159 lines
!--------------------------------------------------------------------------
*lsz_init
lzw_init() LZW Beta
Initializes the LZW library
#include <lzw.h>
\3void lzw_init();\3
\1Returns\1 None
\1Description\1
This routine initializes certain globalal variables
functions.
\1Cautions\1
This function MUST be called before calling any other LZW library
functions.
\1Related Functions\1
\2lzw_deinit()\2
!--------------------------------------------------------------------------
*lzw_deinit
lzw_deinit() LZW Beta
Deinitializes the LZW library
#include <lzw.h>
\3void lzw_deinit();\3
\1Returns\1 None
\1Description\1
This function clears the linked list.
\1Cautions\1
This functions must only be called after a call to lzw_init()
\1Related Functions\1
\2lzw_init()\2
!--------------------------------------------------------------------------
*lzw()
lzw() LZW Beta
Compresses file(s) into an LZW file
#include <lzw.h>
\3int lzw(char *lzw_pathfile, unsigned long ops, char *infile_pathmask);\3
\1Returns\1 0 Success
-1 Could not open or create LZW file
-2 Not an appropriate LZW file
-3 Could not read in file directory (linked list)
-4 Nothing to do. _dos_findfirst on mask unsuccessful
-5 Could not open input file
-6 Encoding error
-7 Could not save file directory (linked list)
\1Description\1
This function acts on the \3lzw_pathfile\3 to perform the specified \3ops\3:
PATHNAMES - May be used to insert the entire pathname of the file
into the LZW header.
The \3infile_pathmask\3 parameter is the mask of files that are to be
compressed and may include a valid DOS path.
A pass is made through the entire .LZW file, skipping from header to
header, for each file to be compressed. If that file already exists,
the header structure member 'marked' is filled with the '*' character,
then the new file is appended to the end of the file. This can
cause the .LZW file to grow fairly rapidly in size because the
old files are not automatically purged. The lzwpurge() function
may be used to physically purge all marked files.
\1Related Functions\1
\2unlzw(), lzwpurge()\2
!--------------------------------------------------------------------------
*unlzw()
unlzw() LZW Beta
Expands file(s) from an LZW file
#include <lzw.h>
\3int unlzw(char *lzw_pathfile, unsigned long ops, char *mask);\3
\1Returns\1 0 Success
-1 Could not open LZW file
-2 LZW file is empty or corrupted
-3 Not an LZW file
-4 Could not load file directory (linked list)
-5 Could not create output file
-6 Decoding error
-7 Could not save file directory (linked list);
\1Description\1
This function acts on the \3lzw_pathfile\3 to perform the specified \3ops\3:
EXTRACT - Extracts the files designated by the parameter mask.
VIEW - Not currently implemented, but will allow the passing
of a function pointer to give the programmer access
to file information designated by the parameter mask.
Cannot be used in conjunction with any other operation.
CREATEDIRS - Can be used in conjunction with the EXTRACT operation to
create the directory specified in the path structure
member, if such a path exists.
NOOVERWRITE - Can be used in conjunction with EXTRACT &| CREATEDIRS
so existing files will not be overwritten. Otherwise,
they will be.
Only files matching the \3mask\3 parameter will be extracted.
\1Caution\1
Ops may be or'd together for this call, except that the VIEW option
MAY NOT be used in conjunction with any other call.
\1Related Functions\1
\2lzw()\2
!--------------------------------------------------------------------------
*lzwpurge()
lzwpurge() LZW Beta
Purges marked and specified files from an LZW file
#include <lzw.h>
\3int lzwpurge(char *lzw_pathfile,char *mask);\3
\1Returns\1 0 Success
-1 Could not LZW file
-2 Not an appropriate LZW file
-3 Could not open temporary file
\1Description\1
This call will purge all 'marked' files from \3lzw_pathfile\3. Specifiying a
mask will also cause files matching the \3mask\3 to be purged even if they have
not been previously marked. Pass NULL in the mask parameter position if
no additional files are to be purged.
\1Related functions\1
\2lzw()\2